import moment from 'moment';

{
  // 获取日期之间的所有日期数组
  const getDayAll = (starDay, endDay) => {
    const arr = [];
    const dates = [];

    // 设置两个日期UTC时间
    const db = new Date(starDay);
    const de = new Date(endDay);
    // 获取两个日期GTM时间
    const s = db.getTime() - 24 * 60 * 60 * 1000;
    const d = de.getTime() - 24 * 60 * 60 * 1000;

    // 获取到两个日期之间的每一天的毫秒数
    for (let i = s; i <= d; ) {
      i = i + 24 * 60 * 60 * 1000;
      arr.push(parseInt(String(i)));
    }

    // 获取每一天的时间  YY-MM-DD
    for (const j in arr) {
      const time = new Date(arr[j]);
      const year = time.getFullYear();
      const mouth =
        time.getMonth() + 1 >= 10
          ? time.getMonth() + 1
          : '0' + (time.getMonth() + 1);
      const day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate();
      const YYMMDD = year + '-' + mouth + '-' + day;
      dates.push(YYMMDD);
    }

    return dates;
  };

  // 获取一个月之内的所有日期数组
  getDayAll(
    moment().subtract(1, 'months').format('YYYY-MM-DD'),
    moment().format('YYYY-MM-DD')
  );

  const getNearMounth = (len = 30) => {
    const timeArr = [];
    const today = moment().format('YYYY-MM-DD');
    timeArr.unshift(today);
    for (let i = 0; i < len - 1; i++) {
      const timeStr = moment()
        .subtract(i + 1, 'day')
        .format('YYYY-MM-DD');
      timeArr.unshift(timeStr);
    }

    return timeArr;
  };

  // 获取30天之内的所有日期数组
  getNearMounth(30);
}
